package com.shujia.day19.udpdemo2;

import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;
import java.util.Scanner;

/*
    1:建立udp的socket服务
    2:将要发送的数据封装成数据包
    3:通过udp的socket服务,将数据包发送出
    4:关闭资源

 */
public class SendDemo1 {
    public static void main(String[] args) throws Exception{
        // 1:建立udp的socket服务
        // DatagramSocket
        //DatagramSocket()
        //构造数据报套接字并将其绑定到本地主机上的任何可用端口。
        DatagramSocket socket = new DatagramSocket();
        //创建键盘录入对象
        Scanner sc = new Scanner(System.in);

        while (true){
            System.out.print("请输入要发送的内容：");
            String info = sc.nextLine();


            // 2:将要发送的数据封装成数据包 DatagramPacket
            //DatagramPacket(byte[] buf, int length, InetAddress address, int port)
            //构造用于发送长度的分组的数据报包 length指定主机上到指定的端口号。
            byte[] bytes = info.getBytes();
            int length = bytes.length;
            InetAddress address = InetAddress.getByName("192.168.22.15");
            DatagramPacket packet = new DatagramPacket(bytes, length, address, 10086);

            // 3:通过udp的socket服务,将数据包发送出
            //public void send(DatagramPacket p)
            socket.send(packet);

            if("886".equals(info)){
                break;
            }
        }

        // 4:关闭资源
        socket.close();

    }
}
